Solid state storage devices, such as flash memory devices, typically distinguish between different binary values stored in a storage cell based on a read voltage level of the storage cell. Solid state storage devices typically compare read voltage levels to read threshold voltages to determine the data that may be stored in storage cells.
Characteristics of a storage cell, however, such as the read voltage levels, can change over time. For example, program-erase cycle, retention, read disturb and other physical artifacts can alter the read voltage levels of the storage cells. If the read voltage level of a storage cell shifts beyond a corresponding read voltage threshold, the stored data will not be properly read, since the value of the data read from the storage cell is different than the value of the data originally written to the storage cell.
A need therefore exists for improved techniques for adjusting read threshold voltages to account for such shifts in read voltage levels. A further need therefore exists for improved techniques for adjusting read threshold voltages based on bit error rates obtained based on decoded data.